The present invention is related to communication over a computer network. In particular, the present invention relates to translating an address from one protocol to another in a network environment.
A network is a data communication system that links two or more computers and peripheral devices. It may allow users to access resources on other computers and exchange messages with other users. A network may allow users to share resources on their own systems with other network users and to access information on centrally located systems or systems that are located at remote offices. It may provide connections to the Internet or the networks of other organizations. Users may interact with network-enabled software applications to make a network request (such as to get a file or print on a network printer). The application then communicates with the network software and the network software interacts with the network hardware. The network hardware is typically responsible for transmitting information to other devices attached to the network.
It is now common to communicate by establishing a connection through two or more networks, such as through the Internet. These various networks may use different communication protocols (packet data protocols) from each other, but should still be able to communicate with each other. For example, FIG. 1 shows various networks 12-16 coupled with various devices 10, 18-22. Assume that device 10 is attempting to communicate with device 22. Devices 10 and 22 may be hosts with protocol specific addresses, such as X.25 protocol specific addresses. Between device 10 and device 22 are network 12, router 18, network 14, router 20, and network 16.
Each of the networks may work with a selected packet data protocol. Examples of packet data protocols include transmission control protocol/Internet protocol (TCP/IP), X.25, Asynchronous Transfer Mode (ATM), frame relay, and Network Service Access Point (NSAP). These are examples of wide area network (WAN) protocols. WANs may link geographically dispersed offices in other cities or around the globe. Practically any long distance communication medium can serve as a WAN link, including switched and permanent telephone circuits, terrestrial radio systems, and satellite systems. For example, the network 12 may be located in Australia, while network 16 may be located in the U.S., with a connection through a third network 14, such as the Internet or a third party network.
In this example, network 12 and network 16 uses X.25 protocol, while network 14 uses TCP/IP. An IP address uniquely identifies a device in the network. This IP address identifies the device in TCP/IP. However, the same device may also have another protocol specific address, such as an X.25 address (sometimes referred to as an x.121 address) which uniquely identifies that device in the X.25 network. Accordingly, devices 10 and 22 may each have multiple addresses uniquely identifying that device in various protocols.
When device 10 attempts to establish communication with device 22, device 10 may identify or obtain device 22""s X.25 address and contact network 12. From network 12, communication should be established to network 14, then to network 16 to establish communication with device 22. However, since network 12 utilizes X.25 protocol and network 14 utilizes TCP/IP, router 18 must typically translate device 22""s address from its X.25 address to its TCP/IP address. Likewise, if device 22 was attempting to establish communication with device 10, then router 20 would translate the X.25 address for device 10 into a TCP/IP address for device 10.
Each router 18, 22 typically maintains a table of address translations, such as the translation of device 22""s X.25 address to device 22""s TCP/IP address. These addresses are typically hard coded into the routers 18-20. Accordingly, if an address for a device changes, then each router 18-20 that includes that device""s address will typically need to be accessed and the address will have to be changed. Since it is fairly common for a network to have its address scheme changed, it may be substantially time consuming to ensure that each router that contained each of the changed addresses is accessed and updated. Additionally, the process of individually changing an address in all the routers that maintain that address may be error prone.
It would be desirable to have an address resolution system and method that allows dynamic changes to addresses and avoid the need to access each router containing the address to change that address. The present invention addresses such a need.
A method according to an embodiment of the present invention for translating an electronic address is presented. The method comprises sending a first protocol specific address from a first device. A second protocol address is received by the first device, wherein the second protocol address has been determined to be associated with the first protocol specific address.
A system according to an embodiment of the present invention for translating an electronic address is also presented. The system comprises a processor configured to send a first protocol specific address, the processor also configured to receive a second protocol specific address that has been determined to be associated with the first protocol specific address. The system also includes a network interface coupled to the processor configured to interface with a network.
Another system for translating an electronic address according to an embodiment of the present invention is also presented. The system comprises a processor configured to receive a first protocol specific address from a first device. The processor is also configured to determine a second protocol specific address associated with the first protocol specific address, and to send the second protocol address to the first device. The system also includes a memory to provide instructions to the processor.
Another method for translating an electronic address is also presented. The method comprises providing a first protocol specific address from a first device; determining a second protocol specific address associated with the first protocol specific address; and sending the second protocol address to the first device.